#pragma once
#include "ClientSocket.h"
#include "HTTPRequestInfo.h"
#include "IAction.h"

// Processed as part of an IRequest
class IResponse
{
public:
	IResponse(void);
	virtual ~IResponse(void);

	virtual bool PrepareResponse() = 0;
	virtual bool ExecuteResponse() = 0;
	virtual bool CleanUp() = 0;

	IAction *mAction;

	Client *mClient;
	HTTPRequestInfo *mRequestInfo;
	HTTPResponseHeaders mResponseHeaders;
};
